精华内容
下载资源
问答
  • Python函数练习Filter筛选器
    2021-03-28 22:21:25

    题目:

    已知列表data中有若干字符串,要求编写程序,对data中的字符串进行过滤,只输出重复字符不超过一半的字符串


    思路:

    遍历每一位字符,使用count()函数获取该字符出现的次数,跟字符串长度的一半作比较,使用filter()函数作筛选。


    代码展示:

    import random
    
    
    # 生成随机字符串
    def randomString():
        # 记录随机字符串
        rdm_str = ''
        # 仅包含‘01’,提高字符重复概率
        base_str = '01'
        # 定义随机字符串随机长度
        length = random.randint(5, 10)
        # 从基础字符串中随机获取字符,连接成字符串
        for i in range(length):
            rdm_str += base_str[random.randint(0, len(base_str) - 1)]
    
        return rdm_str
    
    
    # 字符串过滤规则
    def judge(str):
        # 通过count函数得出每个字符的出现次数与len()/2作对比
        for c in str:
            if 1.0 * str.count(c) > len(str) / 2:
                return False
        return True
    
    
    if __name__ == '__main__':
        # 构建随机的data
        data = []
        for i in range(random.randint(10, 20)):
            # 随机字符串
            data.append(randomString())
        print("过滤前共" + str(len(data)) + "个:")
        for string in data:
            print(string)
    
        # 过滤字符串
        tmp = filter(judge, data)
        result = list(tmp)
        print("过滤后共" + str(len(result)) + "个:")
        for string in result:
            print(string)
    
    更多相关内容
  • 已知列表data中有若干字符串要求编写程序,对data中的字符串进行过滤,只输出重复字符不超过一半的字符串 思路:利用collections库的Counter方法,遍历data列表中的每一个字符串,并把他们存入进一个字符出现...

    已知列表data中有若干字符串,要求编写程序,对data中的字符串进行过滤,只输出重复字符不超过一半的字符串

    思路:利用collections库中的Counter方法,遍历data列表中的每一个字符串,并把他们存入进一个字符出现次数列表定义一个最大值max存放每一个字符串中出现次数最多的字符,将max与该字符串的长度比较,如果小于它的一半则保留否则就从data列表中删除这个字符串

    from collections import Counter
    
    # 1、创建一个包含若干字符串的列表
    data = ["www.com", "www.cn", "@www", "@qq.com"]  # 根据题意预判结果:只想输出第1, 2, 4个, 第3个w字符的长度为3超过一半
    
    # 2、遍历列表
    for d in data:
        # 2.1存放字符串中每个字符出现次数的字典
        res = Counter(d)
    
        # 2.2遍历字典, 找出字符出现次数最多的那个字符出现的次数
        max_len = 0
        for key in res:
            # print(key, res[key])
            if max_len < res[key]:
                max_len = res[key]
        # print(max_len)
    
        # 2.3将获得的max_len与字符串的长度比较,删除max_len>字符串长度的一半
        n = len(d)  # 统计每个字符串的长度
        if max_len > n / 2:
            data.remove(d)
    
    print(data)
    
    

    运行结果
    在这里插入图片描述

    展开全文
  • 主要介绍了Python如何用filter函数筛选数据,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
  • python

    千次阅读 热门讨论 2021-03-27 22:18:33
    已知列表data中有若干字符串要求编写程序,对data中的字符串进行过滤,只输出重复字符不超过一半的字符串。 提示:以下是本篇文章正文内容,下面案例可供参考 一、分析 键盘输入字符串后需要使用split()来进行...
    ***python习题##***

    问题

    已知列表data中有若干字符串,要求编写程序,对data中的字符串进行过滤,只输出重复字符不超过一半的字符串。


    提示:以下是本篇文章正文内容,下面案例可供参考

    一、分析

    1. 键盘输入字符串后需要使用split()来进行分割操作
    2. 需要引入collections中的Counter来方便计数
    3. 通过for循环来对字符串计数
    4. 通过if语句找出每个字符串中字母重复最多的
    5. 字母重复最多的那个字母重复的个数与该字符串长度进行比较决定要不要输出该字符串

    二、步骤

    1.引入库中方法

    代码如下(示例):

    from collections import Counter     #导入Counter
    

    2.键盘输入数据

    代码如下(示例):

    print("输入字符串")
    data=input()            #手动输入
    datalist=data.split(",")    #分割字符串
    data=datalist
    print(data)         #输出字符串列表
    

    代码

    from collections import Counter     #导入Counter
    print("输入字符串")
    data=input()            #手动输入
    datalist=data.split(",")    #分割字符串
    #print(datalist)
    data=datalist
    #data=['Hello','World','python','aaabbb','cccdd']
    print(data)         #输出字符串列表
    for i in data:      #for循环
        a=Counter(i)        #对列表中每一个字符串进行计数
        #print(Counter(i))
        maxlen=0
        for j in a:
            #print(key,a[j])        #输出的是字母和个数,例如 "all"  输出 a 1  l 2
            if maxlen< a[j]:
                maxlen= a[j]        #得到字符串中字母重复最多的
        #print(maxlen)      #输出重复数量
        if maxlen <= len(i)/2:      #重复最多的字母的重复个数与该字符长度比较,没有超过一半则输出该字符串
            print(i)
    
    

    在这里插入图片描述

    展开全文
  • 方法一:用两个数组实现 file1.c(文件1): #include<stdio.h> int main() { extern void enter_string(char str1[]); extern void delete_string(char str1[],char str2[],char ch);... extern void print_...

    方法一:用两个数组实现

    file1.c(文件1):

    #include<stdio.h>
    
    int main()
    {
    	extern void enter_string(char str1[]);
    	extern void delete_string(char str1[], char str2[], char ch);
    	extern void print_string(char str2[]);
    
    	char c, str1[80], str2[80];
    	enter_string(str1);
    	scanf("%c", &c);
    	delete_string(str1, str2, c);
    	print_string(str2);
    	return 0;
    }
    

    file2.c(文件2):

    #include<stdio.h>
    
    void enter_string(char str1[80] )
    {
    	gets(str1);
    }
    

    file3.c(文件3):

    void delete_string(char str1[], char str2[], char ch)
    {
    	int i, j;
    	for (i = j = 0; str1[i] != '\0'; i++)
    	{
    		if (str1[i] != ch)
    		{
    			str2[j++] = str1[i];
    		}
    	}
    	str2[j] = '\0';
    }
    

    file4.c(文件4):

    #include<stdio.h>
    
    void print_string(char str2[])
    {
    	printf("%s\n", str2);
    }
    

    在VS2019下,需将源文件的gets和scanf做些修改:

    file1.c(文件1):

    #include<stdio.h>
    
    int main()
    {
    	extern void enter_string(char str1[]);
    	extern void delete_string(char str1[], char str2[], char ch);
    	extern void print_string(char str2[]);
    
    	char c, str1[80], str2[80];
    	enter_string(str1);
    	scanf_s("%c", &c, (unsigned int)sizeof(char));
    	delete_string(str1, str2, c);
    	print_string(str2);
    	return 0;
    }
    

    file2.c(文件2):

    #include<stdio.h>
    
    void enter_string(char str1[80] )
    {
    	gets_s(str1,80);
    }
    

    file3.c(文件3):

    void delete_string(char str1[], char str2[], char ch)
    {
    	int i, j;
    	for (i = j = 0; str1[i] != '\0'; i++)
    	{
    		if (str1[i] != ch)
    		{
    			str2[j++] = str1[i];
    		}
    	}
    	str2[j] = '\0';
    }
    

    file4.c(文件4):

    #include<stdio.h>
    
    void print_string(char str2[])
    {
    	printf("%s\n", str2);
    }
    

    方法二:用一个数组实现

    file1.c(文件1):

    #include<stdio.h>
    
    int main()
    {
    	extern void enter_string(char str[]);
    	extern void delete_string(char str[], char ch);
    	extern void print_string(char str[]);
    
    	char c, str[80];
    	enter_string(str);
    	scanf("%c", &c);
    	delete_string(str, c);
    	print_string(str);
    	return 0;
    }
    

    file2.c(文件2):

    #include<stdio.h>
    
    void enter_string(char str[80])
    {
    	gets(str);
    }
    

    file3.c(文件3):

    void delete_string(char str[], char ch)
    {
    	int i, j;
    	for (i = j = 0; str[i] != '\0'; i++)
    	{
    		if (str[i] != ch)
    		{
    			str[j++] = str[i];
    		}
    	}
    	str[j] = '\0';
    }
    

    file4.c(文件4):

    #include<stdio.h>
    
    void print_string(char str[])
    {
    	printf("%s\n", str);
    }
    

    在VS2019下,需将源文件的gets和scanf做些修改:

    file1.c(文件1):

    #include<stdio.h>
    
    int main()
    {
    	extern void enter_string(char str[]);
    	extern void delete_string(char str[], char ch);
    	extern void print_string(char str[]);
    
    	char c, str[80];
    	enter_string(str);
    	scanf_s("%c", &c, (unsigned int)sizeof(char));
    	delete_string(str, c);
    	print_string(str);
    	return 0;
    }
    

    file2.c(文件2):

    #include<stdio.h>
    
    void enter_string(char str[80])
    {
    	gets_s(str,80);
    }
    

    file3.c(文件3):

    void delete_string(char str[], char ch)
    {
    	int i, j;
    	for (i = j = 0; str[i] != '\0'; i++)
    	{
    		if (str[i] != ch)
    		{
    			str[j++] = str[i];
    		}
    	}
    	str[j] = '\0';
    }
    

    file4.c(文件4):

    #include<stdio.h>
    
    void print_string(char str[])
    {
    	printf("%s\n", str);
    }
    
    展开全文
  • actskn43.ocx

    2008-11-21 14:07:54
    actskn43.ocx 解压开后运行bat文件就可以注册服务了!
  • 去除字符串中的重复字符(C语言)

    千次阅读 2019-01-19 15:01:40
    =EOF) //ctrl+d的值是EOF,所以用它判断字符输入结束  12 {  13 a[i]=ch;  14 i++;  15 }  16 for(k=0;k;k++)  17 {  18 int flag=0;  19 for(j=k-1;j>=0;j--) //遍历数组  20 {  21 if(a[j]=...
  • /usr/bin/env python# -*- coding:utf-8 -*-'''filter过滤器'''# 若一个需求用于实现:过滤掉一个列表中含有指定字符串的元素'''1、普通函数people_list = ['a','b_sb','c','d_sb']#定义功能函数用于判断列表元素...
  • file = open("test.txt","r") content = file.read() conlist=list(content) conlist.sort()#.sort()直接排序,本身是没有返回值的,print(xx....print("".join(conlist))# join() 方法可以将列表链接为字符串 ...
  • 给定字符串,输出每个字母出现的次数 def count_char(string): dict = {} for i in string: if i not in dict: dict[i]=1 else: dict[i]+=1 return dict print(count_char('skdaskerkjsalkj'))
  • 编写一个函数, 接收字符串参数, 返回一个元组,‘ehllo WROLD’ 元组的第一个值为大写字母的个数, 第二个值为小写字母个数. 代码块: def fun(x): upper_count = 0 lower_count = 0 for i in x: if i.isupper():...
  • C++ 字符串库函数的自定义实现

    千次阅读 2021-02-06 21:13:41
    字符串处理函数包括几大类可以满足对char*字符串大部分操作,需要包括头文件<cstring>或者<string.h>,选择几个仔细研究一下: #include <iostream> #include <cstring> #include <...
  • 错误【单选题】在c语言,输出一个整型变量用的下面哪一种格式控制符A.%cB.%dC.%f【单选题】以下各项,不属于printf()函数的格式控制符的是_______。A.%cB.%dC.%fD.%m【单选题】使用下列哪个格式控制符可设置转换十六...
  • 案例介绍:假设文件 data.txt 中有若干整数,所有整数之间使用英文逗号分隔,编写程序读取所有整数,将按升序排序后再写入文本文件 data_asc.txt 。步骤1:创建一个文件data.txt,里面写入如下数据,为了增加难度,某些行...
  • MFC Widnows程序设计(0)Code&index
  • python3.6 代码如下: with open('C:\\Users\\***\\Desktop\\test.txt') as f: ... print(a[5])#这一行可以单独打印第几个字符串 f.closed 比如test.txt文件里只有一行: 1 123 1.1 a abc p+=...
  • 已知列表data中有若干字符串要求编写程序,对data中字符串进行过滤,输出重复字不超过一半的字符串。 from collections import Counter data = list(input("请输入字符串:").split(',')) # data = ['hello','...
  • 字符串

    2021-11-09 21:39:28
    若干个字符组成的一个序列被称为字符串,其中的字符可以是字母,数字,符号,中文等 注意:字符串属于不可变的数据类型,可以作为字典的key 1.创建 2.操作 3.系统功能 3.1转换 eval():将str转换为有效的...
  • 1.编写程序,生成包含20个随机数的列表,然后将前10个元素升序排列,后10个数降序排列,并输出结果。 下面展示一些 内联代码片。 import random data = [random.randrange(100) for i in range(20)] print('操作前...
  • 假设一个字类型的数值arry1,试编写程序统计arry1数值及其后若干数值,在字单元存储时每个数据含“1”数据位的个数,并将统计结果保存在res1数组。数据段的代码定义如下: data segment arry1 dw 223,4037...
  • 已知当前数据段DADT1和DADT2开始分别存放若干字节数据,数据个数相同,编制程序检查两数据块数据是否相同,若相同,则在屏幕上显示1,否则显示0。 【参考程序如下】 DSEG SEGMENT DATA1 DB 'ABCDEFG3' DATA2 DB
  • 读取一个文件的整数,并将它们从小到大排序,最后输出排序后到另一个文件
  • Python练习题

    千次阅读 2020-11-29 13:48:23
    编写程序,输入一个自然数字符串,然后输出各位数字之和。a=input("输入一串数字:")b=0for i in a:b=b+eval(i)print("数字之和为:{}".format(b))T2.输入一个字符串,输出反转后的字符串。a=input("输入一个字符串...
  • python3本身没有直接读取int的接口,只能读取字符串,因此需要自己编写代码。 读取的文件如下形式: 1 2 3 1 4 5 6 7 1 8 9 10 11 6 12 13 14 15 16 1 3 7 17 18 11 6 19 20 21 22 23 24 1 25 3 26 3 11 27 6 3 28 7...
  • 第四章 汇编语言程序设计4-2 下列程序执行后,寄存器AX ,BX ,CX 的内容分别是多少?ORG 0202HDA_WORD DW 20HMOV AX,DA_WORD ;(AX)=0020HMOV BX,OFFSET DA_WORD ;(BX)=0202H (BX)=0,这是书的参考答案MOV CL,BYTE ...
  • 2020-09-25:Python题目和总结

    千次阅读 2020-09-25 12:33:41
    实验6:字符串结构程序设计(4学时) 实验7:函数程序设计(4学时) 实验8:类程序设计(2学时) 实验9:文件操作程序设计(2学时) 实验10:GUI 自主学习1:爬取百度图片 自主学习2:利用pandas分析数据 自主学习3:数据库...
  • 目录苏州大学计算机复试【字符串/数组类习题】PAT1028 人口普查 (20分)1029 旧键盘 (20分)1078 字符串压缩与解压 (20分)1081 检查密码 (15分)1043 输出PATest (20分)1091 N-自守数 (15分)LeetCode3. 无重复字符的...
  • A、穷性B、有效性C、可行性D、一个或多个输出2、N-S图与传统流程图比较,主要优点是( )A、杜绝了程序的无条件转移B、具有顺序、选择和循环三种基本结构C、简单、直接D、有利于编写程序3、以下( )是面向过程的...
  • 在这个例子,我们假设一些其他用户已经将若干 Ehter 存入这份合约,比方说它的当前余额就是  10 ether  。然后会发生以下情况: Attack.sol -Line [15] -EtherStore合约的  despoitFunds  函数将会被调用...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 5,898
精华内容 2,359
关键字:

已知列表data中有若干字符串,要求编写程序

友情链接: MCDDVJT0.rar