精华内容
下载资源
问答
  • 本期给大家讲解的函数都不陌生,大家都遇到使用过,但是不要轻易觉得简单去学习,因为往往看似简单的东西,从一个方面深入下收都是一大堆的东西,千万不要停留在表面的认知,所以,为了让大家更好的掌握了解,下面小...

    本期给大家讲解的函数都不陌生,大家都遇到使用过,但是不要轻易觉得简单去学习,因为往往看似简单的东西,从一个方面深入下收都是一大堆的东西,千万不要停留在表面的认知,所以,为了让大家更好的掌握了解,下面小编整合相关的所以内容,给大家做详细的使用介绍,一起来了解学习下吧。

    描述:

    主要作用就是将列表转化成元组

    语法:

    tuple()

    参数:

    列表

    返回值:

    元组

    使用方式:

    list = ['example_A']

    print (list)

    tuple = ('example_B',)

    print (tuple)

    1234

    内容补充

    tuple() 可以将字符串,列表,字典,集合转化为元组;

    >>> a= 'www'

    >>> b=tuple(a)

    >>> b

    ('w', 'w', 'w')

    >>> a={'www':123,'aaa':234}

    >>> b=tuple(a)

    >>> b

    ('www', 'aaa') # 将字段转换为元组时,只保留键!

    >>> a=set('abcd')

    >>> print (a)

    {'c', 'd', 'b', 'a'}

    >>> b=tuple(a)

    >>> b

    ('c', 'd', 'b', 'a')

    到此这篇关于Python3中的tuple函数知识点讲解的文章就介绍到这了,更多相关Python3中的tuple函数是什么内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

    展开全文
  • 关于python的数据类型有很多,有些不是很常见的,大家不大了解要如何去运用的,比如接下来我们要了解的这个tuple,有部分小伙伴带着疑问咨询小编,今天小编就给大家详细解答。什么是元组?有序列表叫元组:tuple。...

    关于python的数据类型有很多,有些不是很常见的,大家不大了解要如何去运用的,比如接下来我们要了解的这个tuple,有部分小伙伴带着疑问咨询小编,今天小编就给大家详细解答。

    什么是元组?

    有序列表叫元组:tuple。tuple和list非常类似,但是tuple一旦初始化就不能修改。

    tuple元组的定义

    Python的元组与列表类似,不同之处在于元组的元素不能修改。元组使用小括号,列表使用方括号。元组创建很简单,只需要在括号中添加元素,并使用逗号隔开即可。示例如下:tup1 = ('361way', 'com', 1997, 2000)

    print(type(tup1))

    tup2 = (1, 2, 3, 4, 5)

    tup3 = "a", "b", "c", "d"

    print(type(tup3))

    2c4fbb312ea83a05564da5ded680b74a.png

    这里通过tup3可以看出,其并没有用小括号进行包括,但其也是元组。所以需要记住:任意无符号的对象,以逗号隔开,默认为元组 。另外需要特别注意只有一个元素时元组的创建:tup1 = (111)

    print(type(tup1))

    tup1 = ("abc")

    print(type(tup1))

    tup1 = ("abc",)

    print(type(tup1))

    18e7dce4501a97824e442ac11e2b5e39.png

    元组中只包含一个元素时,需要在元素后面添加逗号,否则就会是int 或 string 等其他数据类型。如果只是创建一个空元组时,则不受逗号的影响:tup1 = ()

    print(type(tup1))

    27f8fa0c48a216f49b73fcbfdd34c486.png

    元组的索引与切片

    同字符串、列表类型一样,元组也支持索引与切片 。而且用法也相同,

    下面结合示例查看下:tup1 = ('361way', 'com', 2013, 2014)

    print(tup1[0])

    print(tup1[4]) #取值超出其索引范围时报错

    tup2 = (1, 2, 3, 4, 5, 6, 7)

    print(tup2[1:5])

    由上面的结果可以看出,取出元组的单个元素数据时,得到的是该数据原来的类型 ; 取出其一段元素值时得到的仍是元组。

    0f9ca46a482813e487bae26bf9ce353f.png

    修改元组的值

    元组中的元素值是不允许删除的,但可以使用del语句来删除整个元组,如下实例:tup1 = ('361way', 'com', 2013, 2014)

    del tup1[3]  # 删除单个元素,报错

    tup1[3] = 'abc'  # 更改一个元素的值,报错

    print(tup1[3])

    del tup1  # 删除整个元组,正常

    print(tup1)

    在实际应用中,有时候会遇到需要修改元组的值,那怎么办呢?可以通过一个变通的方法实现。

    示例如下:tup1 = ('361way', 'com', 2013, 2014)

    list1 = list(tup1)

    print(list1)

    list1[3] = 'change'

    print(list1)

    tup1 = tuple(list1)

    print(tup1)

    0b7ebbbee701bb4c72903d19415536a6.png

    可以将tuple元组的值先通过list转化为列表,再对列表内的值进行修改,修改为再将list转化为tuple 。

    不过这里需要注意的是此时的tup1已经非彼tup1,具体可以通过id函数进行查看,发现其内存地址已经发生了变化。

    总结:

    tuple是Python内置的有序集合,一个可变,一个不可变。根据需要来选择使用它们。

    最后,希望可以帮助大家更好的学习Python。如需了解更多python实用知识,点击进入JQ教程网Python大全。

    展开全文
  • json_tuple函数 的利用

    2021-03-17 20:05:11
    首先在Hive 中查看json_tuple 函数的详细信息 desc function extended json_tuple; 出现解释: json_tuple(jsonStr, p1, p2, …, pn) - like get_json_object, but it takes multiple names and return a ...

    首先在Hive 中查看json_tuple 函数的详细信息

    desc function extended json_tuple;

    出现解释:

    json_tuple(jsonStr, p1, p2, …, pn) - like get_json_object, but it takes multiple names and return a tuple. All the input parameters and output column types are string. |

    jsonStr,就是我们自己的json数据文件名称,p1,p2,p3…等是json 数据的参数

    例题

    : **json格式的电影评分数据## **

    1. 首先解析json
      create table t_json(json string);
    2. 加载数据到表中
      select json_tuple(json,‘movie’,‘rate’,‘timeStamp’,‘uid’) as
      (movie,rate,ts,uid) from tb_json limit 20;

    查看建表数据

    |+--------+-------+------------+------+
    | movie  | rate  |     ts     | uid  |
    +--------+-------+------------+------+
    | 1193   | 5     | 978300760  | 1    |
    | 661    | 3     | 978302109  | 1    |
    | 914    | 3     | 978301968  | 1    |
    | 3408   | 4     | 978300275  | 1    |
    | 2355   | 5     | 978824291  | 1    |
    | 1197   | 3     | 978302268  | 1    |
    | 1287   | 5     | 978302039  | 1    |
    | 2804   | 5     | 978300719  | 1    |
    | 594    | 4     | 978302268  | 1    |
    | 919    | 4     | 978301368  | 1    |
    +--------+-------+------------+------+|  |
    
    1. 将表数据创建到新表

    create table tb_movie_rate as select json_tuple
    (json,‘movie’,‘rate’,‘timeStamp’,‘uid’) as (movie,rate,st,uid) from
    tb_json;

    以上是将建立新表到后面练习可以用
    接下来就是练习题:
    1、统计每部电影的平均得分

    create table tb_avg_rate as select movie, avg(rate) from
    tb_movie_rate group by movie;

    2、统计数据中一共有多少部电影

    create table tb_cout_movie as select count(distinct movie) from
    tb_movie_rate;

    +--------------------+
    | tb_cout_movie._c0  |
    +--------------------+
    | 3706               |
    +--------------------+
    

    3、统计每部电影的被评分次数(热门度)

    create table tb_sum_movie as select movie, count(distinct uid) from
    tb_movie_rate group by movie;

    +---------------------+-------------------+
    | tb_sum_movie.movie  | tb_sum_movie._c1  |
    +---------------------+-------------------+
    | 1                   | 2077              |
    | 10                  | 888               |
    | 100                 | 128               |
    | 1000                | 20                |
    | 1002                | 8                 |
    | 1003                | 121               |
    | 1004                | 101               |
    | 1005                | 142               |
    | 1006                | 78                |
    | 1007                | 232               |
    +---------------------+-------------------+
    

    4、统计每个人的所有电影评分的平均值

    create table tb_avg_movie as select uid, count(distinct rate) from
    tb_movie_rate group by uid;

    +-------------------+-------------------+
    | tb_avg_movie.uid  | tb_avg_movie._c1  |
    +-------------------+-------------------+
    | NULL              | 1                 |
    | 1                 | 5                 |
    | 10                | 4                 |
    | 100               | 5                 |
    | 1000              | 4                 |
    +-------------------+-------------------
    

    5、查询出每个人评分最高的20部电影信息
    第一步先筛选用户并且将评论排序,利用row_number函数和新窗口函数 over()。

    select
    *, row_number() over(partition by uid order by rate desc) rn from tb_movie_rate ;

    +----------------------+---------------------+-------------------+--------------------+-----+
    | tb_movie_rate.movie  | tb_movie_rate.rate  | tb_movie_rate.st  | tb_movie_rate.uid  | rn  |
    +----------------------+---------------------+-------------------+--------------------+-----+
    | 104                  | 4                   | 978298486         | NULL               | 1   |
    | 1566                 | a                   | 978824330         | 1                  | 1   |
    | 1035                 | 5                   | 978301753         | 1                  | 2   |
    | 1287                 | 5                   | 978302039         | 1                  | 3   |
    | 150                  | 5                   | 978301777         | 1                  | 4   |
    | 1                    | 5                   | 978824268         | 1                  | 5   |
    | 1028                 | 5                   | 978301777         | 1                  | 6   |
    | 1029                 | 5                   | 978302205         | 1                  | 7   |
    | 48                   | 5                   | 978824351         | 1                  | 8   |
    | 1193                 | 5                   | 978300760         | 1                  | 9   |
    | 2028                 | 5                   | 978301619         | 1                  | 10  |
    | 1270                 | 5                   | 978300055         | 1                  | 11  |
    | 1961                 | 5                   | 978301590         | 1                  | 12  |
    | 595                  | 5                   | 978824268         | 1                  | 13  |
    | 1836                 | 5                   | 978300172         | 1                  | 14  |
    | 1022                 | 5                   | 978300055         | 1                  | 15  |
    | 527                  | 5                   | 978824195         | 1                  | 16  |
    | 2804                 | 5                   | 978300719         | 1                  | 17  |
    | 2355                 | 5                   | 978824291         | 1                  | 18  |
    | 3105                 | 5                   | 978301713         | 1                  | 19  |
    +----------------------+---------------------+-------------------+--------------------+-----+
    

    第二部在上面第一步的基础上筛选出最高分排名前20的电影,并创建一个新表存储数据。

    create table tb_hight_rate as select uid,rate,rn,movie from ( select
    *, row_number() over(partition by uid order by rate desc) rn from tb_movie_rate ) t where rn<=20;

    +--------------------+---------------------+-------------------+----------------------+
    | tb_hight_rate.uid  | tb_hight_rate.rate  | tb_hight_rate.rn  | tb_hight_rate.movie  |
    +--------------------+---------------------+-------------------+----------------------+
    | NULL               | 4                   | 1                 | 104                  |
    | 1                  | a                   | 1                 | 1566                 |
    | 1                  | 5                   | 2                 | 1035                 |
    | 1                  | 5                   | 3                 | 1287                 |
    | 1                  | 5                   | 4                 | 150                  |
    | 1                  | 5                   | 5                 | 1                    |
    | 1                  | 5                   | 6                 | 1028                 |
    | 1                  | 5                   | 7                 | 1029                 |
    | 1                  | 5                   | 8                 | 48                   |
    | 1                  | 5                   | 9                 | 1193                 |
    | 1                  | 5                   | 10                | 2028                 |
    | 1                  | 5                   | 11                | 1270                 |
    | 1                  | 5                   | 12                | 1961                 |
    | 1                  | 5                   | 13                | 595                  |
    | 1                  | 5                   | 14                | 1836                 |
    | 1                  | 5                   | 15                | 1022                 |
    | 1                  | 5                   | 16                | 527                  |
    | 1                  | 5                   | 17                | 2804                 |
    | 1                  | 5                   | 18                | 2355                 |
    | 1                  | 5                   | 19                | 3105                 |
    | 1                  | 4                   | 20                | 1207                 |
    | 10                 | 5                   | 1                 | 953                  |
    | 10                 | 5                   | 2                 | 3447                 |
    | 10                 | 5                   | 3                 | 3087                 |
    | 10                 | 5                   | 4                 | 1584                 |
    | 10                 | 5                   | 5                 | 3259                 |
    | 10                 | 5                   | 6                 | 1654                 |
    | 10                 | 5                   | 7                 | 1653                 |
    | 10                 | 5                   | 8                 | 1580                 |
    | 10                 | 5                   | 9                 | 3155                 |
    | 10                 | 5                   | 10                | 2571                 |
    | 10                 | 5                   | 11                | 595                  |
    | 10                 | 5                   | 12                | 594                  |
    | 10                 | 5                   | 13                | 1079                 |
    | 10                 | 5                   | 14                | 1148                 |
    | 10                 | 5                   | 15                | 541                  |
    | 10                 | 5                   | 16                | 2640                 |
    | 10                 | 5                   | 17                | 1198                 |
    | 10                 | 5                   | 18                | 1073                 |
    | 10                 | 5                   | 19                | 2622                 |
    | 10                 | 5                   | 20                | 1197                 |
    | 100                | 5                   | 1                 | 800                  |
    | 100                | 5                   | 2                 | 527                  |
    | 100                | 5                   | 3                 | 919                  |
    | 100                | 4                   | 4                 | 329                  |
    | 100                | 4                   | 5                 | 2406                 |
    | 100                | 4                   | 6                 | 260                  |
    | 100                | 4                   | 7                 | 1291                 |
    | 100                | 4                   | 8                 | 1197                 |
    | 100                | 4                   | 9                 | 1196                 |
    +--------------------+---------------------+-------------------+----------------------+
    
    展开全文
  • 一、lateral VIEW json_tuple函数使用 工作中遇到一个数据表的存储形式,如下: id col1 col2 1234 {"part1" : "61", "total" : "623", "part2" : "560", "part3" : "1", "part4" : "1"} {"to_part2...

    一、lateral VIEW json_tuple函数使用

    工作中遇到一个数据表的存储形式,如下:

    idcol1col2
    1234{"part1" : "61", "total" : "623", "part2" : "560", "part3" : "1", "part4" : "1"}{"to_part2" : "0", "to_part4" : "0", "to_up" : "0", "to_part3" : "0", "to_part34" : "0"}
    4567{"part1" : "451", "total" : "89928", "part2" : "88653", "part3" : "789", "part4" : "35"}{"to_part2" : "54", "to_part4" : "6", "to_up" : "65", "to_part3" : "2", "to_part34" : "3"}
    7890{"part1" : "142", "total" : "351808", "part2" : "346778", "part3" : "4321", "part4" : "567"}{"to_part2" : "76", "to_part4" : "23", "to_up" : "65", "to_part3" : "14", "to_part34" : "53"}

     

    其中col1,col2都是string类型,存放的是JSON格式的数据,JSON的key分别是: 

    col_namekey_list
    col1[part1, part2, part3, part4, total]
    col2[to_part2, to_part3, to_part4, to_part34, to_up]

     

    使用lateral view json_tuple函数 从两列中分别选出part3,part4, to_part3,to_part4的key对应的数据值:

    --使用lateral VIEW json_tuple函数解析数据
    SELECT
        id,
        to_part3,
        to_part4,
        IF(part3=0,0.0, to_part3/part3) as ratio3,
        IF(part4=0,0.0, to_part4/part4) as ratio4
    FROM
    	{table_name}
    lateral VIEW json_tuple(col1, 'part3', 'part4') json1 AS part3,part4 
    lateral VIEW json_tuple(col2, 'to_part3', 'to_part4') json2 AS to_part3,to_part4
    WHERE
    	...

     

    二、对比lateral view json_tuple 和  lateral view explode 函数的区别

    之前的博文 explode和 lateral view explode函数解析非结构化的map数据类型 介绍了使用explode ,  lateral view explode 函数来解析Map类型数据的key, value的应用。

    初看下这两个例子很像,那么为什么这里使用later view json_tuple 而不是使用later view explode函数呢?

    如果使用later view explode函数能不能达成想要的效果呢?

    这里的关键点就是数据结构了。

    本文中的例子,col1,col2数据类型是JSON,key是固定的,每条数据都有相同的key,即使这个key对应的值是0,也会有记录。

    而上文中的例子,业务场景不一样,col1 、 col2的key不是固定的,数据类型是MAP。

     

    col1col2
    {24235:r2,98766:r3}{65432:r1,35689:r2,24577:r3}
    {13245:r3}{34567:r1,87654:r3}

    这是跟随实际应用场景而选择的数据存储类型。

    比如本文中,场景类型有限,就是(part1, part2, part3, part4,to_part2, to_part3, to_part4, to_part34 )这几类,所以使用JSON的形式,穷举key来保存数据是合适的。

    而前博文的场景就不同了。在电商业务中,广告触点类型非常的多(多到成百上千),而一个用户进入电商网站,实际接触到的广告触点类型却是很少的(几个到几十个),这时候如果还用JSON类型穷举所有广告触点的key,就会发现大量key的值是0,这是一个稀疏数据,这是很浪费空间的。所以,这种情况下一般采用MAP数据类型,只保留有实际意义的key和对应的值。

    所以,使用later view explode函数能通过将每条数据拆分成key、value的形式来使用。

    而如果使用later view json_tuple函数的话,如果在一条数据中没有指定想要的key,那么就会报错失败了。

     

     

     

    展开全文
  • 1.json_tuple函数json_tnple函数用来处理json数据使用方法:json_tuple(jsonStr, p1, p2, …, pn) - like get_json_ob...
  • tuple> struct Drx { int a; }; struct Mg { int b; }; class MsgBuilder { public: void addData(const Drx& drx){ std::cout << "Drx:" << drx.a << std::endl; } v...
  • 很多复杂函数在调用时会用到*tuple和**dict,现在记录一下,请看下面代码: # 参数列表中的arg代表一个参数,这个参数可以是整数,浮点数或者是字符串 # 参数列表中的*args代表一个元组参数,适用于在定义函数的时候...
  • public Tuple<double, double> MultiReturn(double x, double y, double z) { double r1 = x + y + z; double r2 = x - y - z; Tuple<double, double>...调用子函数 Tuple<double, .
  • 列表与元组最大的区别在于:元组是不可改变的,列表是可改变的。元组支持的操作,列表基本上都支持;...list() 函数除使用前面介绍的方括号语法创建列表之外,Python 还提供了一个内置的 list() 函数来创建列...
  • t1 = tuple((x*3 for x in range(3))) print(t1) s1 = (x*2 for x in range(4)) t2 = tuple(s1) print(t2) l2 = list(s1) print(l2) # []只能访问一次,第二次为空了,需要在生成一次 生成器对象的遍历 使用_next_...
  • 元组 tuple 列表属于可变序列,可以任意修改列表中的元素,而元组属于不可变序列 不能修改元组中的元素,因此元组没有增加元素和修改元素和删除元素的方法 元组支持:1.索引访问 2. 切片操作 3.连接操作 4.成员关系...
  • 本文实例讲述了Python数据类型之Tuple元组。分享给大家供大家参考,具体如下:tuple元组1.概述本质上是一种有序的集合,和列表非常的相似,列表使用[]表示,元组使用()表示.特点:一旦初始化,就不能发生改变2.元组...
  • Tuple元组类型使用以及Lambda编写flink程序正确姿势(方法与避坑)
  • 一:tuple认识 #include<iostream> using namespace std; int main(int argc, char* argv[]) ... //元组和打印,用标准库中的get(函数模板) std::cout << get<0>(obj) << std::end
  • Python slice() 函数

    2021-02-09 06:31:59
    使用slice对象仅获取元组的前两个项:a = ("a", "b", "c", "d", "e", "f", "g", "h")x = slice(2)print(a[x])1、定义和用法slice()函数返回一个切片对象。slice对象用于指定如何对序列进行切片。可以指定在哪里开始...
  • 在Python2中map函数会返回一个list列表,但在Python3中,返回<map object at 0x********> map()会根据提供的函数对指定序列做映射。 第一个参数 function 以参数序列中的每一个元素调用 function 函数,返回...
  • >>> def returns_tuple_of_one(a): ... return (a) ... >>> def returns_tuple_of_two(a): ... return (a, a) ... >>> for n in returns_list_of_one(10): ... print n ... 10 >>> for n in returns_tuple_of_two...
  • select temp1.f1,temp1.f2,temp1.f3,temp1.f4,temp2.f5,temp2.f6 ...lateral view json_tuple(f0,'f1','f2','f3','f4') temp1 as f1,f2,f3,f4 lateral view json_tuple(f4,'f5','f6') temp2 as f5,f6;
  • My function expects a list or a tuple as a parameter. It doesn't really care which it is, all it does is pass it to another function that accepts either a list or tuple:def func(arg): # arg is tuple o...
  • qsort_tuple讲解

    2021-01-31 19:48:29
    qsort_tuple(SortTuple *a, size_t n, SortTupleComparator cmp_tuple, Tuplesortstate *state) { SortTuple *pa, *pb, *pc, *pd, *pl, *pm, *pn; size_t d1, d2; int r, ...
  • 在写Hive SQL时,需要从一个json列中解析出多个key的信息,查阅资料了解到有两种写法,一种是get_json_object,另外一种是json_tuple。两种用法的示例如下所示 get_json_object示例: select get_json_object...
  • Tuple 是不可变 list。 一旦创建了一个 tuple 就不能以任何方式改变它。Tuple 与 list 的相同之处定义 tuple 与定义 list 的方式相同, 除了整个元素集是用小括号包围的而不是方括号。Tuple 的元素与 list 一样按定义...
  • 元组tuple的方法

    2020-12-28 22:54:48
    tuple = ('d') print(type(tuple)) <class 'str'> #元组的数据类型为字符串类型,不是tuple tuple = ('d',) print(type(tuple)) <class 'tuple'> 练习题1: tuple = (1,3,5,7,
  • Python3从入门到核心编程系列课程之语法基础 16课时 / 3时16分 Python3从入门到核心编程...主要介绍python中函数的定义和调用、函数任意数量参数传递、全局和局部作用域、递归函数的运用,以及模块和函数的调用等内容。
  • }} | +----------------------------------------------------+ 总结 get_json_object 和 json_tuple 都是重要的json解析函数,get_json_object 在于提取某一个值,json_tuple 一次可以提取多个值。
  • Python 元组(tuple)

    2021-10-17 13:47:29
    元组(tuple)是python中另一个重要的序列结构,和列表类似,元组也是由一系列按特定顺序排序的元素组成。 元组和列表(list)的不同之处在于: 列表的元素是可以更改的,包括修改元素值,删除和插入元素,所以列表...
  • #获取图像 read_image(Image,'E:/C/Halcon/1.jpg') #读取整个文件夹的图像 ...tuple_regexp_select(ImageFiles,['\\.(tif|tiff|gif|bmp|jpg|jpeg|jp2|png|pcx|pgm|ppm|pbm|xwd|ima|hobj)$','ignore_c.
  • 列表转换元组

    2021-01-07 15:33:58
    **列表转换元组** 1_1ist=[“猪”,“鸡”,“鸟”,...1_tuple=tuple(1_1ist) print(type(1_tuple),1_tuple) t_tuple=(“猪”,“鸡”,“鸟”,“鹅”,“鸭”,“狗”) ptint(type(t_tuple),t_tuple) t_list= list(t_tu...
  • 上述说我们的构造函数找不到何时的版本,编译器想要一个传递VisualMachine *的参数,为什么会这样报错呢?因为我们用错了make_shared<>函数。 原本make_shared<>功能和new的功能极为相似,都是再堆上...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 162,478
精华内容 64,991
关键字:

tuple函数